package com.zjw.algorithm;


import com.zjw.algorithm.utils.TreeNode;

/**
 * 如果二叉树每个节点都具有相同的值，那么该二叉树就是单值二叉树。
 * <p>
 * 只有给定的树是单值二叉树时，才返回 true；否则返回 false。
 */
public class Solution16 {

    public static void main(String[] args) {

    }
    static class Solution {
        public boolean isUnivalTree(TreeNode root) {
            if (root == null) {
                return true;
            }

            TreeNode left = root.left;
            TreeNode right = root.right;
            if ((left != null && left.val != root.val) ||
                    (right != null && right.val != root.val)
            ) {
                return false;
            }

            return isUnivalTree(root.left) && isUnivalTree(root.right);
        }
    }
}
